#!/usr/bin/ruby

require 'rubygems'
require 'aws-sdk'

KEY = 'xxx'
SEC = 'xxx'
REGION = 'eu-west-1'

ec2 = AWS::EC2.new(:access_key_id=> KEY, :secret_access_key=> SEC, :region=> REGION)

AWS.memoize do

  snapshots = ec2.snapshots.with_owner(:self)
  images = ec2.images.with_owner(:self).collect { |i| i.id }

  snapshots.each do |s|
    if s.description =~ /Created by CreateImage/
      m = s.description.match(/ami\-.{8}/).to_s
      if images.include?(m)
        puts "#{m} is a registered AMI"
      else
        puts "#{s.id} is a useless snapshot. Deleting..." 
        s.delete
      end
    end
  end

end
